function KKB.Panel_CustomUsers( Panel )
	Panel_CustomUsers = Panel
	Panel_CustomUsers:SetSize(100, 400)
	Panel_CustomUsers:Clear(true)
	Panel_CustomUsers.contents = vgui.Create("DListLayout")
	Panel_CustomUsers.contents:Clear()
	
	KKB.CustomUsers_GroupList = vgui.Create( "DListView" )
	KKB.CustomUsers_GroupList:AddColumn( "User Group" )
	KKB.CustomUsers_GroupList:SetTall( 150 )
	KKB.CustomUsers_GroupList:SetMultiSelect( false )
	function KKB.CustomUsers_Reload_GroupList()
		KKB.CustomUsers_GroupList:Clear()
		for k,_ in pairs(KKB.UserGroups) do
			KKB.CustomUsers_GroupList:AddLine(k)
		end
	end
	KKB.CustomUsers_Reload_GroupList()
	Panel_CustomUsers:AddPanel(KKB.CustomUsers_GroupList)
	
	local ActivePlayers = vgui.Create( "DListView" )
	ActivePlayers:AddColumn( "UniqueID" )
	ActivePlayers:AddColumn( "Nick" )
	ActivePlayers:AddColumn( "UCL Group" )
	ActivePlayers:SetTall( 150 )
	ActivePlayers:SetMultiSelect( false )
	function KKB.CustomUsers_Reload_ActivePlayers()
		ActivePlayers:Clear()
		for _,v in pairs(player.GetAll()) do
			ActivePlayers:AddLine(v:UniqueID(),v:Nick(),v:GetUserGroup())
		end
	end
	KKB.CustomUsers_Reload_ActivePlayers()
	Panel_CustomUsers:AddPanel(ActivePlayers)
	
	local AddUserButton = vgui.Create( "DButton" )
	AddUserButton:SetText( "Add Player As CusomUser To Selected Group" )
	AddUserButton.DoClick = function( button )
		local SelectedPlayerLine = ActivePlayers:GetSelectedLine()
		if ( SelectedPlayerLine != nil ) then
			local SelectedGroupLine = KKB.CustomUsers_GroupList:GetSelectedLine()
			if ( SelectedGroupLine != nil ) then
				local Group = KKB.CustomUsers_GroupList:GetLine(SelectedGroupLine).Columns[1]:GetValue()
				local UniqueID = ActivePlayers:GetLine(SelectedPlayerLine).Columns[1]:GetValue()
				net.Start( "KKB_CustomUsers_Add" )
				net.WriteString( Group )
				net.WriteString( UniqueID )
				net.SendToServer()
			end
		end
	end
	Panel_CustomUsers:AddPanel(AddUserButton)
	
	KKB.CustomUsersList = vgui.Create( "DListView" )
	KKB.CustomUsersList:AddColumn( "UniqueID" )
	KKB.CustomUsersList:AddColumn( "Nick" )
	KKB.CustomUsersList:AddColumn( "KKB Group" )
	KKB.CustomUsersList:SetTall( 150 )
	KKB.CustomUsersList:SetMultiSelect( false )
	function KKB.Custom_Users_Reload_CustomUsers()
		KKB.CustomUsersList:Clear()
		for k,v in pairs(KKB.CustomUsers) do
			KKB.CustomUsersList:AddLine(k,v.Nick,v.Group)
		end
	end
	KKB.Custom_Users_Reload_CustomUsers()
	Panel_CustomUsers:AddPanel(KKB.CustomUsersList)
	
	local ChangeUserButton = vgui.Create( "DButton" )
	ChangeUserButton:SetText( "Change CustomUser To Selected Group" )
	ChangeUserButton.DoClick = function( button )
		local SelectedCustomUserLine = KKB.CustomUsersList:GetSelectedLine()
		if ( SelectedCustomUserLine != nil ) then
			local SelectedGroupLine = KKB.CustomUsers_GroupList:GetSelectedLine()
			if ( SelectedGroupLine != nil ) then
				local Group = KKB.CustomUsers_GroupList:GetLine(SelectedGroupLine).Columns[1]:GetValue()
				local UniqueID = KKB.CustomUsersList:GetLine(SelectedCustomUserLine).Columns[1]:GetValue()
				net.Start( "KKB_CustomUsers_Change" )
				net.WriteString( Group )
				net.WriteString( UniqueID )
				net.SendToServer()
			end
		end
	end
	Panel_CustomUsers:AddPanel(ChangeUserButton)
	
	local DeleteUserButton = vgui.Create( "DButton" )
	DeleteUserButton:SetText( "Delete Custom User" )
	DeleteUserButton.DoClick = function( button )
		local SelectedCustomUserLine = KKB.CustomUsersList:GetSelectedLine()
		if ( SelectedCustomUserLine != nil ) then
			local UniqueID = KKB.CustomUsersList:GetLine(SelectedCustomUserLine).Columns[1]:GetValue()
			net.Start( "KKB_CustomUsers_Delete" )
			net.WriteString( UniqueID )
			net.SendToServer()
		end
	end
	Panel_CustomUsers:AddPanel(DeleteUserButton)
end